'''测试app1.

测试内容有3个.

第一是getPage方法的默认参数

第二是postMethod方法,名为postTest1的methodName的方法接收的request.form对象
会2个key:{'string':字符串接收, 'times':整数接收}.该方法会开启TestThread1线程,线程参数为'times',
并返回{'result':接收的字符串的+开启线程是否成功}

第三个是askThread方法,开启TestThread1线程后,就可以测试这个方法了.

'''

import sys
import os

from BaseApp import BaseApp
## 导入线程文件夹
sys.path.append(os.path.join(sys.path[0], r'threads'))
from TestThread1 import TestThread1

class TestApp1(BaseApp):

  def __init__(self):
    BaseApp.__init__(self, 'TestApp1')
    self._threadDict['TestThread1'] = TestThread1()
    return
    
  def postMethod(self, methodName, flaskRequest):
    '''请求一个post的结果,请求名为method,传入flask的request参数,返回结果'''
    print('TestApp1.postMethod - {methodName}')
    if (methodName == 'postTest1'):
      string = flaskRequest.form['string']
      times = flaskRequest.form['times']
      flag = self._threadDict['TestThread1'].start({'times': int(times)})
      if flag:
        return {'result': string+' - 线程开启成功'}
      else:
        return {'result': string+' - 线程开启失败'}
    return
    
if __name__ == '__main__':
  tp = TestApp1()